﻿using Dyao.Book.Contract;
using Foundation.Core;

namespace Dyao.Book.Application.Abstractions
{
    public interface IBookApplication
    {
        /// <summary>
        /// 获取书籍信息
        /// </summary>
        /// <param name="bookId">书籍编号</param>
        /// <param name="cancellationToken">取消令牌</param>
        /// <returns></returns>
        Task<BookDto> GetBookAsync(string bookId, CancellationToken cancellationToken = default);

        /// <summary>
        /// 获取书籍下拉选项
        /// </summary>
        /// <param name="cancellationToken">取消令牌</param>
        /// <returns></returns>
        Task<List<SelectItem>> GetBookSelectItemsAsync(CancellationToken cancellationToken = default);
    }
}
